1. Field of the Invention
The present invention relates to a communication apparatus with the address translation function and to a multimedia communication method. For example, the present invention is suitable for use in communication, especially multimedia communication and so forth, which involves address translation on an IP (Internet Protocol) network.
2. Description of the Background Art
In general, an IP address assigned to each user to uniquely identify a host on the Internet is called a global address. In contrast, an IP address used freely on a network closed in an organization, such as a corporate or user's promises network, is called a private address.
An IP address, a 32-bit numeric value, has a limit on the number of connections. The IP address translation technology is used for overcoming the problem of IP address insufficiency caused by the limit on the number of connections. IP address translation refers to the NAT (Network Address Translation) function, a function defined by RFC1631 for translating between a private address and a global address. RFC, an abbreviation for Request For Comments, is a sequence of documents organized by Internet technology standardization body named IETF (Internet Engineering Task Force).
For example, a NAT-compatible router translates an IP address, owned by a plurality of clients, to a global address and supplies the translated address to a server. Therefore, the server does not know the IP address (private address) of the client from which an actual request is made. As a result, a client machine appears as if it were on a corporate or client's promises network at the router-translated IP address.
A response is sent from the server to the translated global address. Upon receiving the response, the NAT-compatible router reads out the IP address in the corporate LAN (Local Area Network) associated with the global address and, with the private address as the destination IP address, sends out the response.
A NAT-compatible router acquires global addresses in advance and uses the corresponding IP addresses for communication. The NAT-compatible router has a correspondence table (NAT table) that contains the correspondence between client IP addresses before translation and global addresses used by the router. Upon receiving a response from a server, the router references this correspondence table to find out the IP address of the client to which the response is to be sent (see RFC1631).
Note that, if a client does not issue an access request for a predetermined time, the global address that has been used for this client is made available for access by other clients. This allows a plurality of clients to share one global address. If all IP addresses acquired by this router are used up, an access request from some other client is discarded.
It is apparent from the above description that the NAT establishes one to one correspondence between private addresses and global addresses. This means that as many clients as the router global addresses may access the Internet at the same time.
There is another IP address translation function that translates not only an IP address but also a source client port number to allow a plurality of clients, each with its own private address, to share one global address. This function is called an IP masquerade. In RFC2663, the function equivalent to the masquerade function is called NAPT (Network Address Port Translation). A port number refers to a number used to identify an application running on one computer. From the server side, it appears as if a plurality of applications were running on one client.
Consider how a call operation is performed when a client communicates with a server through a router with the NAT/IP masquerade function. In response to a call message from a client that includes a private address and a receiving port number, the router translates the IP address and sends the message to the server.
In the description below, a general multimedia device is considered as a device that performs multimedia communication based on ITU-T (International Telecommunication Union-Telecommunication Standardization Sector) Recommendation H.323 (Ver. 2, February 1998) on a non-telephonic signal transmission line. However, in this case, IP address translation is performed via the NAT only for the header information in a call message, that is, only for the header information at the transport layer or below. NAT translation is not performed for a client IP address (local device information) stored in the data part of the call message that is at a layer higher than the transport layer.
By transmitting and receiving calling and responding messages, a server and a client open a connection for negotiation or obtain the destination IP address and the port number for multimedia data transmission and reception. The port number used in this case is a value different from the port number for controlling a call. More specifically, although the IP address and the port number in this case are transmitted between devices in the form of calling/responding messages, address translation is not performed for the IP address nor the port number in the data area in those messages. Therefore, because a reference is made to the destination IP address (more specifically, private address and port number), a connection for negotiation cannot be opened or multimedia data transmission cannot be performed for the client indicated by the IP address and the port number stored in the data.
When using an application that records a response destination address in the data part of an IP packet, normal communication cannot be established through the NAT.